package main

import "fmt"

// 右移运算符">>“是双目运算符。右移n位就是除以2的n次方。 其功能是把”>>“左边的运算数的各二进位全部右移若干位，”>>"右边的数指定移动的位数

// const (
// 	// 左移运算符"<<"是双目运算符.左移n位就是乘以2的n次方。其功能把"<<"左边的运算数的各二进位全部左移若干位，由"<<"右边
// 	// 的数指定移动的位数,高位丢弃,低位补0.
// 	s int8 = iota
// 	a      = 1 << (10 * iota)
// 	//  左移n位 就是乘以2的n次方   0  0       10    2
// 	b
// 	c = 1 >> (10 * iota)
// 	d = iota
// )
const (
	a, b = iota + 1*10, iota * 20
	c, d = iota, iota * 10
)

func main() {
	// age := 22
	// // Print系列函数会将内容输出到系统的标准输出 区别在于
	// fmt.Print("Print函数直接输出内容,如果是数值或字符,则输出对应的十进制表示", age, "\n")
	// fmt.Println("Println函数会在输出内容结尾添加一个换行符")
	// fmt.Printf("Printf函数支持格式化输出字符串")
	// fmt.Println(a, b, c, d)
	// fmt.Printf("%T", a)
	str := "Hello沙河小王子"
	// fmt.Print(str)

	for i, x := range str {
		// fmt.Printf("%d %c \n", i, x) // %c 相应unicode码点所表示的字符 %d 十进制表示
		// fmt.Printf("%d", i, len(x))
		fmt.Print("%T", x, i)
	}
	// s := "Hello沙河！"
	// for i, v := range s {
	// 	fmt.Printf("%d %c\n", i, v)
	// }
}
